/**************************************************************************
	File		: reset.c
	Author		: 
	Date		: 2018-7-4
***************************************************************************/
	
/**************************************************************************
    								include
***************************************************************************/
#include "reset.h"
/**************************************************************************
    								macro
***************************************************************************/
	
/**************************************************************************
    								typedef
***************************************************************************/
	
/**************************************************************************
    								variables
***************************************************************************/
	
/**************************************************************************
    								functions
***************************************************************************/
void NsdOutput()
{
	GPIO_InitTypeDef GPIO_InitStructure;
	
	GPIO_InitStructure.GPIO_Pin = NSD_Pin;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
	GPIO_Init(NSD_Port, &GPIO_InitStructure);
}

void NsdInput()
{
	GPIO_InitTypeDef GPIO_InitStructure;
	
	GPIO_InitStructure.GPIO_Pin = NSD_Pin;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
	GPIO_Init(NSD_Port, &GPIO_InitStructure);
}

void ResetInit(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC, ENABLE);
	
	GPIO_InitStructure.GPIO_Pin = DSP_RST_Pin;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(DSP_RST_Port, &GPIO_InitStructure);
	
	GPIO_InitStructure.GPIO_Pin = ADC_RST_Pin;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(ADC_RST_Port, &GPIO_InitStructure);
	
	NSD_Output();

	DspResetPinLow();
	AdcResetPinLow();
	NsdResetPinLow();

	Delay(10);
	DspResetPinHigh();
	Delay(30);
	AdcResetPinHigh();
	Delay(260);
	NsdResetPinHigh();
	NSD_Input();
}

